'''
窗口布局：
    1. 窗口布局是Qt框架中用于管理窗口中控件位置和大小的机制。
    2. 窗口布局可以自动调整控件的位置和大小，以适应窗口的大小变化。
    3. 常用的窗口布局有：
        1. 水平布局（QHBoxLayout）：
            1. 水平布局将控件从左到右排列，控件的高度和宽度可以自动调整。
            2. 水平布局的常用方法：
                1. addWidget()：添加控件到布局中。
                2. addLayout()：添加布局到布局中。
                3. addSpacing()：添加间距到布局中。
                4. setAlignment()：设置布局中的控件对齐方式。
                5. setContentsMargins()：设置布局的边距。
                6. setSpacing()：设置布局中控件之间的间距。
        2. 垂直布局（QVBoxLayout）：
            1. 垂直布局将控件从上到下排列，控件的高度和宽度可以自动调整。
            2. 垂直布局的常用方法：
                1. addWidget()：添加控件到布局中。
                2. addLayout()：添加布局到布局中。
                3. addSpacing()：添加间距到布局中。
                4. setAlignment()：设置布局中的控件对齐方式。
                5. setContentsMargins()：设置布局的边距。
                6. setSpacing()：设置布局中控件之间的间距。
        3. 表单布局（QFormLayout）：
            1. 表单布局将控件放置在一个表单中，控件的高度和宽度可以自动调整。
            2. 表单布局的常用方法：
                1. addRow()：添加一行控件到布局中。
                2. addWidget()：添加控件到布局中。
                3. addLayout()：添加布局到布局中。
                4. addSpacing()：添加间距到布局中。
                5. setAlignment()：设置布局中的控件对齐方式。
                6. setContentsMargins()：设置布局的边距。
                7. setSpacing()：设置布局中控件之间的间距。
        4. 布局嵌套：
            1. 布局可以嵌套使用，即一个布局中可以包含另一个布局。
            2. 布局嵌套的常用方法：
                1. addWidget()：添加控件到布局中。
                2. addLayout()：添加布局到布局中。
                3. addSpacing()：添加间距到布局中。
                4. setAlignment()：设置布局中的控件对齐方式。
                5. setContentsMargins()：设置布局的边距。
                6. setSpacing()：设置布局中控件之间的间距。
'''
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout, QHBoxLayout, QGridLayout
import sys
from PyQt5.QtCore import Qt#导入Qt模块,用于设置对齐方式

# 创建一个应用程序对象
app = QApplication(sys.argv)

# 创建一个窗口
window = QWidget()
window.setWindowTitle("窗口布局-垂直布局")
window.resize(300, 200)

# 创建垂直布局
layout = QVBoxLayout()
# 将布局设置到窗口中
window.setLayout(layout)
# 创建按钮和标签
button1 = QPushButton("按钮1")
button2 = QPushButton("按钮2")
button3 = QPushButton("按钮3")
button4 = QPushButton("按钮4")
button5 = QPushButton("按钮5")
button6 = QPushButton("按钮6")
#显示按钮到垂直布局中
layout.addWidget(button1)
layout.addWidget(button2)
layout.addWidget(button3)
layout.addWidget(button4)
layout.addWidget(button5)
layout.addWidget(button6)
#设置布局对齐格式：顶格对齐
layout.setAlignment(Qt.AlignTop)

#显示窗口
window.show()

# 让应用程序进入消息循环
sys.exit(app.exec_())
